如何在Python中使用逗号作为小数点分隔符编写CSV文件?这个问题看起来很简单,但我今天花了很多时间也解决不了(谷歌搜索,在stackoverflow中搜索……)。这不起作用:file.to_csv('file.csv', index = False, sep = ";", float_format = ",")输出csv中仍有“.”。谢谢你的回答。
file.to_csv('file.csv', index = False, sep = ";", float_format = ",")
dgenwo3n1#
您可以使用decimal= ","直接使用逗号保存。这在pandas.DataFrame.to_csv()文档中有详细说明。下面的代码应该可以工作:
decimal= ","
file.to_csv('file.csv', index = False, sep = ";", decimal= ",")
dkqlctbz2#
您可以利用pandas to_csv方法并使用decimal参数将逗号“,”指定为小数点分隔符。
编辑
下面的代码是你发布的:
import pandas as pd data = pd.read_csv(r'file.csv', sep = ',', decimal = '.') data.to_csv('foo.csv', decimal = ',', sep = ';', index = False)
xeufq47z3#
我的解决方案:
import pandas as pd import numpy as np data = pd.read_csv(r'data.csv', decimal = ',') dims = data.columns[0:3] metrics = data.columns[3:] dims = data[dims].copy() metrics = data[dims].copy() dtypes=np.dtype([ ('col1',str), ('col2',str), ('col3',str), ('col4',int), ('col5',int)]) dataf = np.empty(0,dtype=dtypes) df = pd.DataFrame(dataf) data = pd.DataFrame({ "col1": dims["col1"], "col2": dims["col2"], "col3": dims["col3"], "col4": dims["col4"], "col4": dims["col4"]}) df = df.append(data) df[['col1', 'col2', 'col3']] = df[['col1', 'col2', 'col3']].replace('\;', ',', regex = True) df[['col4', 'col5']] = df[['col4', 'col5']].replace('\.', ',', regex = True) df = df.applymap(str) df.to_csv('new_file.csv', index = False)
y1aodyip4#
我的代码(我只需要读取csv的小数为“.”,并保存为“,”):
import pandas as pd file = pd.read_csv(r'file.csv', decimal = ',') file = file.copy().replace(".", ",") file.to_csv('file_updated.csv', index = False, sep = ";", decimal = ",")
b4lqfgs45#
我也遇到了同样的问题,并通过将dataframe的数据格式更改为数字格式来修复它。
with pd.ExcelWriter('OLS_results.xlsx', engine='xlsxwriter') as writer: df1 = df1.apply(pd.to_numeric, errors='ignore') df1.to_excel(writer)
5条答案
按热度按时间dgenwo3n1#
您可以使用
decimal= ","
直接使用逗号保存。这在pandas.DataFrame.to_csv()文档中有详细说明。下面的代码应该可以工作:
dkqlctbz2#
您可以利用pandas to_csv方法并使用decimal参数将逗号“,”指定为小数点分隔符。
编辑
下面的代码是你发布的:
xeufq47z3#
我的解决方案:
y1aodyip4#
我的代码(我只需要读取csv的小数为“.”,并保存为“,”):
b4lqfgs45#
我也遇到了同样的问题,并通过将dataframe的数据格式更改为数字格式来修复它。