Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Python将数据写入CSV中的单独单元格_Python_Csv - Fatal编程技术网

如何通过Python将数据写入CSV中的单独单元格

如何通过Python将数据写入CSV中的单独单元格,python,csv,Python,Csv,我正在尝试使用python向csv添加几个具有固定值的新列,但所有值都压缩到一个单元格中,而不是单独的单元格中。如何解决这个问题 我的python代码: default_text = 'AoE' with open('C:/Users/username/Desktop/Output/AoE_test.csv', 'r', newline='') as read_obj, \ open('C:/Users/username/Desktop/Output/output_1.csv'

我正在尝试使用python向csv添加几个具有固定值的新列,但所有值都压缩到一个单元格中,而不是单独的单元格中。如何解决这个问题

我的python代码:

default_text = 'AoE'

with open('C:/Users/username/Desktop/Output/AoE_test.csv', 'r', newline='') as read_obj, \
        open('C:/Users/username/Desktop/Output/output_1.csv', 'w', newline='') as write_obj:
    csv_reader = reader(read_obj, delimiter=',')
    csv_writer = writer(write_obj, delimiter=',')
    for row in csv_reader:
        row.append(default_text)
        csv_writer.writerow(row)
这是原始CSV AoE_test.CSV,代码从中读取数据:

这是csv输出_1.csv的最终输出,使用以下数据写入:

我还尝试注释掉该行。附加:

以及输出:


我希望附加列写入CSV文件中的单独列中。非常感谢

在处理表格时使用熊猫。您要做的就是:

# pip install pandas
import pandas as pd

default_text = 'AoE'

in_fpath = 'C:/Users/username/Desktop/Output/AoE_test.csv'
out_fpath = 'C:/Users/username/Desktop/Output/output_1.csv', 'w'
df = pd.read_csv(in_fpath, sep=",") # while sep="," is default
df['my_new_col'] = default_text # this works, because 
# pandas takes this one string and repeats it in column
# actually you should put [default_text] * df.shape[0]
# think columns as vertical lists!
df.to_csv(out_fpath)

在我看来,您是在创建新行,而不是在行尾添加数据。我也可能错了,但看起来您的数据被封装在括号内,因此可能读/写不正确。通过解析csv文件并使用文件处理程序将输出写入新文件,您可以手动添加,并在行末尾添加列数据。请提供一个.default_text='AoE',带有open'C:/Users/username/Desktop/output/AoE_test.csv',r',newline=as read_obj,\open'C:/Users/username/Desktop/output/output_1.csv',w',换行符=as write_obj:csv_reader=readerread_obj,分隔符=','csv_writer=writerwrite_obj,分隔符=','用于csv中的行_reader:row.appenddefault_text csv_writer。writerowrow@an1que在你的帖子里,不是作为评论,那是不可读的。我们仍然会丢失数据。说到这里,除非绝对必要,否则请不要以图像形式共享信息。见:。
# pip install pandas
import pandas as pd

default_text = 'AoE'

in_fpath = 'C:/Users/username/Desktop/Output/AoE_test.csv'
out_fpath = 'C:/Users/username/Desktop/Output/output_1.csv', 'w'
df = pd.read_csv(in_fpath, sep=",") # while sep="," is default
df['my_new_col'] = default_text # this works, because 
# pandas takes this one string and repeats it in column
# actually you should put [default_text] * df.shape[0]
# think columns as vertical lists!
df.to_csv(out_fpath)