R中的write.csv将我的日期转换为10位整数

时间:2018-07-30 17:29:22

标签: r csv date export-to-csv date-conversion

在Excel中,我创建了一个1000行的Year End Date列,其中每个单元格的内容均为12/31/2018。我在Excel中将其格式化为日期。我将所有内容拉到R中,对其他列(而不是日期列)进行了一些数据操作,并使用write.csv导出了最终数据框。当我打开最终文件(在Excel或Tableau中)时,我的整个Year End Date列在每个单元格中都是1546214400。

为什么会这样?我该如何解决?

谢谢!

2 个答案:

答案 0 :(得分:3)

每个软件程序将日期(或日期时间)存储为数字,但会以人类熟悉的日期格式显示

当您将数据读入R时,所使用的任何功能都是“智能”的,足以知道“ 12/31/2018”是日期“ 2018年12月31日”,而不是字符串1、2,/ ,3,...全部粘贴在一起。 R存储日期的一种方式是作为POSIXct对象。我们可以看到R将日期“ 12/31/2018”存储为POSIXct整数1546214400:

import {
  StyleSheet,
  View,
  Platform
} from 'react-native';
import { Constants } from 'expo';

const App = () => (
    <View style={styles.container}>
        // Your content with margin for statusBar goes here
    </View>
)

const styles = StyleSheet.create({
  container: {
    marginTop: Platform.OS === 'ios' ? 0 : Constants.statusBarHeight
  }
}

要使用as.integer(as.POSIXct(as.Date("2018/12/31"))) > 1546214400 导出数据,使日期熟悉Excel,首先需要用日期格式格式化POSIXct值1546214400。因此,如果您的数据位于名为write.csv()的数据框中,并且日期列名为mydf,请执行以下操作:

date

答案 1 :(得分:0)

如果传递列类型,则可以控制列格式。 \

heworldllo

然后在指定每个列应为的内容之后,像这样读取CSV: /

coltypes <- cols( col1 = col_double(), col2 = col_double(), col3 = col_date(format ="%Y%m%d"), col4 = col_double())