2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
सामग्रीसूची
सञ्चिका निर्दिष्टा पङ्क्तिः अथवा स्तम्भदत्तांशपठनक्रिया
txt file write, writelines इति
पठन-लेखन-सङ्घः (दत्तांशं परिवर्त्य सम्मिलितं कुर्वन्तु)
csv सञ्चिकानां पठने लेखने च प्रायः भवद्भिः सञ्चिकामार्गः, उद्घाटनविधिः, वर्णसङ्केतनम् इत्यादीनां विषयाणां निवारणं कर्तव्यम् । प्रायः csv सञ्चिकानां पठने लेखने च newline='' पैरामीटर् उपयुज्यते यत् सञ्चिकायाः पठनं लेखनं च Windows प्रणाल्याः newline वर्णेन प्रभावितं न भविष्यति इति सुनिश्चितं भवति txt सञ्चिकाः csv सञ्चिकाः च परस्पररूपान्तरणस्य समर्थनं कुर्वन्ति, अतः txt सञ्चिकानां पठनं लेखनं च csv सञ्चिकासु पूर्णतया प्रयोज्यम् अस्ति ।
पैरामीटर् | पूर्वनिर्धारितं मूल्यम् | वर्णेतु |
परिसीमक | , | एतत् CSV सञ्चिकायां मूल्यानि (अथवा क्षेत्राणि) पृथक् कर्तुं प्रयुक्तानि वर्णाः निर्दिशति । |
skipinitialspace | असत्य | सीमांकनानां अनुसरणं कृत्वा रिक्तस्थानानां व्याख्या कथं भवति इति नियन्त्रयति । यदि True तर्हि आरम्भिकं श्वेतस्थानं निष्कासितम् भविष्यति । |
lineterminator | र्ण् | रेखायाः समाप्त्यर्थं प्रयुक्तानां वर्णानाम् क्रमं निर्दिशति । |
quotechar इति | " | एतत् एकं स्ट्रिंग् निर्दिशति यस्य उपयोगः मूल्यस्य सन्दर्भार्थं भविष्यति यदि क्षेत्रे विशेषवर्णाः (यथा सीमांककाः) भवन्ति । यथा, "0,0" इत्यत्र ","" इत्यस्य सन्दर्भे "" इत्यस्मिन् दत्तांशस्य समग्ररूपेण व्यवहारं कर्तुं quotechar=""" इत्यस्य उपयोगं कर्तुं शक्नोति यदि भवान् '0,0' इत्यस्य उपयोगं करोति तर्हि quotechar="'" इत्यस्य उपयोगं कर्तुं शक्नोति । |
उद्धृत्य | csv.QUOTE_NONE इति | यदा उद्धरणं लेखकेन उत्पद्यते अथवा पाठकेन ज्ञायते तदा नियन्त्रयति (अन्यविकल्पानां कृते उपरि पश्यन्तु) । |
पलायनचर | न कश्चित् | यदा उद्धरणं उद्धरणं प्रति सेट् भवति तदा एतत् एकवर्णीयं तारं भवति यस्य उपयोगः परिसीमकस्य पलायनार्थं भवति । |
द्विगुण उद्धरण | सत्यम् | क्षेत्राणाम् अन्तः उद्धरणानाम् निबन्धनं नियन्त्रयति ।कदासत्यम् पठने क्रमिकौ उद्धरणद्वयं एकं इति व्याख्यायते, लेखनकाले तु दत्तांशेषु निहितं प्रत्येकं उद्धरणवर्णं द्वौ उद्धरणौ इति लिख्यते पूर्वनिर्धारितरूपेण, doublequote True इति सेट् भवति । फलतः द्वौ क्रमिकौ द्विगुणौ उद्धरणौ पठने एकरूपेण व्याख्यातः । यदि doublequote False इति सेट् भवति तर्हि आउटपुट् मध्ये क्रमशः double quotes दृश्यन्ते । |
- import csv
-
- with open(file_name, 'r', encoding='utf-8-sig') as f:
- reader = csv.reader(f) # 创建csv阅读器对象,读取所有有效数据,返回结果为一个迭代器类对象
- for data in reader: # 遍历每一行的数据
- print(data)
एन्कोडिंग् एन्कोडिंग् प्रारूपं utf-8-sig इति निर्दिष्टुं शक्नोति, यत् स्वयमेव BOM वर्णानाम् संसाधनं कर्तुं शक्नोति तथा च ufeff इत्यस्य घटनां समाप्तुं शक्नोति ।
- with open(file_name, 'r', encoding='utf-8-sig') as f:
- reader = csv.reader(f)
- list_csv = list(reader)
- for i in range(len(list_csv)-5,len(list_csv)): # 如读取后5行数据
- print(list_csv[i])
- print(list_csv[i][:3]) # 读取指定列数据
txt सञ्चिकानां readlines() तथा read() इति पठनविधिनाम् उपयोगं कुर्वन्तु, पठितदत्तांशेषु नूतनपङ्क्तयः सन्ति येषां संसाधनं करणीयम् ।csv पुस्तकालयस्य आयातस्य आवश्यकता नास्ति
- with open(file_name, 'r', encoding='utf-8-sig') as f:
-
- reader_lines = f.readlines() # 读取所有行放在一个列表中
- for da in reader_lines: # 也可以使用range方法读取指定行的数据,读取结果中有换行符需要处理
- print(da.replace('n',''))
-
- reader = f.read()
- print(reader)
शब्दकोशरूपेण दत्तांशं पठन्तु, मुद्रितं दत्तांशं च शब्दकोशस्य कील-मूल्ययुग्मरूपेण भवति ।
- with open(file_name,'r', encoding='utf-8-sig',newline='') as f:
- reader =csv.DictReader(f)
- for r in reader:
- print(r)
csv पुस्तकालयस्य आयातस्य आवश्यकता नास्ति
दत्तांशलेखनार्थं txt सञ्चिकायाः write तथा writelines इत्यस्य उपयोगं कुर्वन्तु तस्य उपयोगं कुर्वन् वर्णस्य आङ्ग्लविरामः क्षैतिजट्याब् वर्णट्याब् इति ज्ञायते, तथा च newline वर्णः रेखावेष्टनार्थं ऊर्ध्वाधरट्याब् वर्णप्रवेशः इति ज्ञायते यदि भवान् रिक्तपङ्क्तिं सम्मिलितुं इच्छति तर्हि दत्तांशमापदण्डस्य कृते नूतनपङ्क्तिवर्णस्य उपयोगं कुर्वन्तु यदि भवान् रिक्तकोष्ठकं लिखितुम् इच्छति तर्हि दत्तांशमापदण्डस्य कृते अल्पविरामस्य उपयोगं कुर्वन्तु ।
- with open(file_name, 'w', newline='') as f:
- f.write('测试写入数据操作n')
- f.write('n')
- f.writelines(["角色管理,测试测试", "账号管理n", "部门管理n"])
दत्तांशलेखनकाले एकं चरं स्वीकुर्वन्तु यत् एकं पारयोग्यं वस्तु भवितुम् अर्हति यथा स्ट्रिंग्, सूची, ट्युपल्, सेट्, शब्दकोशः इत्यादयः [स्ट्रिंग् प्रत्येकं वर्णं पृथक् कोष्ठकेषु पूरयिष्यति, शब्दकोशाः च पारं कृत्वा कीलं लिखिष्यन्ति writerow इत्यस्य उपयोगः एकपङ्क्तिदत्तांशलेखनार्थं भवति तथा च writerow इत्यस्य उपयोगः दत्तांशस्य बहुपङ्क्तिलेखनार्थं भवति ।
- with open(file_name, 'w', newline='') as f:
- ws = csv.writer(f) # 创建一个写入文件对象
- ws.writerow([]) # 列表内容为空,插入的是一个空行
- ws.writerow(["设备实时监控", "设备数据列表", "设备报警分析"]) # 列表数据
- ws.writerow(("角色管理", "账号管理", "部门管理")) # 元组数据
-
- write_data = ['贾史王薛',
- ['贾不假,白玉为堂金作马', '阿房宫,三百里,住不下金陵一个史', '东海缺少白玉床,龙王请来金陵王',
- '丰年好大雪,珍珠如土金如铁'], ('cao', 'xue', 'qin', 'shu'), {'曹', '雪', '芹', '书'},
- {'贾': '宝玉', '史': '湘云', '王': '熙凤', '薛': '宝钗'},
- {'贾': '宝玉', '史': '湘云', '王': '熙凤', '薛': '宝钗'}.values()]
- ws.writerows(write_data) # writerows写入多行数据
दत्तांशलेखनकाले DictWriter इत्यनेन निर्धारयितुं आवश्यकं यत् कुञ्जी शब्दकोशस्य आधारेण क्षेत्रनामसु अस्ति वा यदि सा नास्ति तर्हि यदि भवान् सर्वाणि ज्ञातानि अज्ञातानि च शब्दकोशदत्तांशं योजयितुं प्रवृत्ताः भविष्यन्ति लिखितव्यस्य दत्तांशस्य कीलानि, ततः मूलसञ्चिकाशीर्षकेण सह तुलनां कुर्वन्तु (मूलसञ्चिकाशीर्षकं पठन्तु), शीर्षकसूचौ योजयन्तु ततः दत्तांशं लिखन्तु ।
- fieldnames = ['姓氏', '人物', '说明'] # 表头
- dictate = [{'姓氏': '贾', '人物': "宝玉"}, {'姓氏': '史', '人物': "湘云"}, {'姓氏': '王', '人物': "熙凤"},
- {'姓氏': '薛', '人物': "宝钗"}]
- with open(file_name, 'w', newline='') as f:
- write = csv.DictWriter(f, fieldnames=fieldnames, delimiter=',')
- write.writeheader() # 写入表头
- write.writerow({'姓氏': '贾', '人物': "宝玉"}) # 单行模式写入
- write.writerows(dictate) # 多行模式写入
सिद्धान्तः - प्रथमं मूलसञ्चिकादत्तांशं पठन्तु, सूचीभण्डारणस्थाने स्थानान्तरयन्तु, ततः प्राप्तसूचिकायाः आधारेण योजयितुं, विलोपयितुं अन्यक्रियाः च कर्तुं सूचीविधिं उपयुज्यन्ते, अन्ते च बहुपङ्क्तिलेखनस्य उपयोगेन परिवर्तितं सूचीदत्तांशं सञ्चिकायां लिखन्तु
- # 第一步:读取数据
- with open(file_name, 'r+', newline='') as f:
- file_csv_data = list(csv.reader(f))
-
- # 第二步:操作数据
- # 插入数据
- file_csv_data.insert(2, '贾史王薛') # 在某行插入一行数据,如在第3行插入数据
- file_csv_data[2].insert(0, '红楼四大家族') # 在指定单元格插入数据,如在3行1列的单元格插入数据
-
- # 修改数据
- file_csv_data[2] = ['贾不假,白玉为堂金作马', '阿房宫,三百里,住不下金陵一个史', '东海缺少白玉床,龙王请来金陵王',
- '丰年好大雪,珍珠如土金如铁', ''] # 修改指定行一行数据
- file_csv_data[2][4] = '葫芦僧判葫芦案' # 修改某一单元格数据,如修改3行5列数据
-
- # 修改符合条件的数据数据
- # 修改符合要求的单元格数据:通过for循环遍历判断,例如修改单元格中包含1的数据,将1替换成一
- # for r_id, row in enumerate(file_csv_data): # 通过行号列号修改
- # for c_id, col in enumerate(row):
- # if '1' in col:
- # file_csv_data[r_id][c_id] = col.replace('1', '一')
-
- for row in file_csv_data: # 通过行数据及列号修改,比上面更方便
- for c_id, col in enumerate(row):
- if '1' in col:
- row[c_id] = col.replace('1', '一')
-
- # 第三步:写入报存数据
- with open(file_name, 'w', newline='') as f:
- write_file = csv.writer(f)
- write_file.writerows(file_csv_data)